package cn.wizzer.app.user.modules.services.account;

import cn.wizzer.app.user.modules.models.UserAccount;
import cn.wizzer.app.user.modules.models.vo.WalletVO;
import cn.wizzer.framework.base.service.BaseService;
import cn.wizzer.framework.page.Pagination;

import java.math.BigDecimal;
import java.util.List;

public interface UserAccountService extends BaseService<UserAccount> {

    UserAccount select(String userId, String currencyId);

    /**
     * @param conditionData
     * @param currencyId
     * @param searchKeyword
     * @param pageNumber
     * @param pageSize
     * @param pageOrderName
     * @param pageOrderBy
     * @return
     */
    Pagination listPage(String conditionData, String currencyId, String searchKeyword, Integer pageNumber, Integer pageSize, String pageOrderName, String pageOrderBy);

    /**
     * 统计求和
     *
     * @param conditionData
     * @param currencyId
     * @param searchKeyword
     * @return
     */
    BigDecimal searchSum(String conditionData, String currencyId, String searchKeyword);

    List<WalletVO> wallets(String appid);

    BigDecimal calTotalBalance(String appid);
}
